The field of the invention is programmable controllers such as those described in U.S. Pat. Nos. 3,810,118; 3,942,158; and 4,165,534.
Programmable controllers are typically connected to industrial equipment such as assembly lines and machine tools to sequentially operate the equipment in accordance with a stored program. In programmable controllers such as those disclosed in the above cited patents, for example, the control program is stored in a memory and includes instructions which are read out in rapid sequence to examine the condition of selected sensing devices on the controlled equipment and instructions which energize or deenergize selected operating devices on the controlled equipment contingent upon the status of one or more of the examined sensing devices.
The processor in a programmable controller is designed to rapidly execute programmable controller type instructions which call for the manipulation of single-bit input data and the control of single-bit output data. The length of the control program, and hence the complexity of the system to be controlled, must be limited to insure that the entire control program can be executed, or scanned, within a set time. Such time limits are required to insure that the programmable controller will provide virtually instantaneous response to any change in the status of sensing devices on the controlled system. Therefore, the speed with which a controller processor can execute programmable controller instructions has a direct bearing on the size of the machine or process which it can effectively control.
Not only should a programmable controller processor be able to execute Boolean expressions rapidly, but it also should be able to execute certain well known programmable controller type instructions. Such instructions have become quite standardized in the industry in terms of the functions they perform and they are directly associated with elements of a ladder diagram which is easily understood by control engineers. Program panels such as those disclosed in U.S. Pat. Nos. 3,798,612 and 3,813,649 and in U.S. Pat. No. 4,070,702 have also been developed to assist the user in developing and editing a control program comprised of such programmable controller type instructions.
Another requirement of programmable controllers is that they be flexible in terms of the number and types of I/O devices with which they will operate. There are numerous types of input devices available ranging from simple switches to a variety of analog to digital converter devices. Similarly, output devices range from simple lights and solenoids to a wide variety of digital to analog conversion devices. A programmable controller should be flexible enough to handle all types of I/O devices and should be easily expandable to handle large numbers of such I/O devices.